package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.EmployeeBean;

import java.util.List;

/***
 * 员工业务接口
 */
public interface IEmployeeService {
    /***
     * 添加员工
     * @param employee 员工对象
     */
    public void addEmployee(EmployeeBean employee);

    /***
     *员工离职， 按id修改员工状态
     * 将员工正在进行的项目,完成时间修改成当前时间
     * @param id 员工id
     */
    public void delEmployee(int id);

    /***
     * 修改员工信息
     * @param id 员工id
     * @param phone 修改电话
     * @param money 修改公资
     */
    public void updateEmployee(int id,String phone,int money);

    /***
     * 查询员工详细信息，同时查询员工参与的项目，需要查询项目名称
     * @param id 员工id
     * @return 员工对象
     */
    public EmployeeBean findEmployee(int id);

    /**
     * 根据员工id和项目完成日期查询员工（员工的参与项目集合元素都为正在进行）
     * @param empId 员工id
     * @return 员工对象
     */
    EmployeeBean findById(int empId);
    /***
     * 按条件动态查询
     * @param page 页码
     * @param name 姓名
     * @param specialty 专长
     * @param statues 状态
     * @param collations 排序规则
     * @return 员工集合
     */
    public PageInfo<EmployeeBean> findByItem(int page, String name, String specialty, String statues,
                                             String collations);

    /**
     * 动态条件查询不再指定项目的员工，项目编号为固定条件，员工姓名和专长为动态条件
     * @param id
     * @param name
     * @param skill
     * @return
     */
    public List<EmployeeBean> findNoProject(int id,String name,String skill);
}
